#pragma once


#include <string>

namespace BAA
{

	class BasicObject
	{
	public:

		/************************************************************************/
		/* Default Constructor, name
		/************************************************************************/
		BasicObject(std::string name):mName(name)
		  {
			  
		  }

		  /************************************************************************/
		  /* Destructor                                                                     */
		  /************************************************************************/
		  virtual ~BasicObject()
		  {
			  // delete name array.
			  //delete mName;
		  }


		  /************************************************************************/
		  /* Returns the name of the emotion                                                                     */
		  /************************************************************************/
		  inline const std::string Name() const{return(mName);}
		  

		  /************************************************************************/
		  /* sets the name for the object                                                                     */
		  /************************************************************************/
		  inline void Name(std::string name)
		  {
			  // NAME must not be null.
			  mName = name;
			  
		  }


		  //virtual bool operator==(const BasicObject * rhs)
		  //{
			 // return mName == rhs->Name();
		  //}

protected:

		std::string			mName;

	};// end class

}